import Vue from 'vue'
import App from './App.vue'
import JsonViewer from 'vue-json-viewer'
Vue.use(JsonViewer)

// 全局引入
import ElementUI from 'element-ui';
// 按需引入
// import { Row, Button} from 'element-ui';
// import 'element-ui/lib/theme-chalk/index.css';

import vueTree from 'vue-tree-jf'

Vue.use(vueTree);
// 引入路由
import router from './router'
// 引入store
import store from './store'
import './api/mock'
import Cookie from 'js-cookie'
Vue.config.productionTip = false
// 全局引入
Vue.use(ElementUI)
// 按需引入
// Vue.use(Row)
// Vue.use(Button)

// 添加全局前置导航守卫
router.beforeEach((to, from, next) => {
  
  // 判断token存不存在
  const token = Cookie.get('token')
  // token不存在，说明当前用户未登录，应跳转到登录页面
  if(!token && to.name !== 'login'){
    next({name: 'login'})
  }else if(token && to.name === 'login'){   // token存在，说明用户已登录，此时跳转到首页
    next({name: 'home'})
  }else{
    next()
  }

})



new Vue({
  router,
  store,
  render: h => h(App),
  created(){
    store.commit('addMenu',router)
  }
}).$mount('#app')
